Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour U.S. Open - New York Helsinki Challenger M25 Benicarlo Australian Open - Melbourne M15 Bressuire Punta Del Este Challenger Cherbourg Challenger Pau Challenger Murcia Challenger Girona Challenger French Open - Paris M25 Villeneuve-Loubet Prostejov Challenger Wimbledon - London M25+H Bagneres-de-Bigorre U.S. Open - New York M25 Monastir M15 Monastir Francavilla Challenger Australian Open - Melbourne M15 Monastir Iasi Challenger Hersonissos 5 Challenger Hersonissos 6 Challenger Romania F16 Romania F17 France F12 USA F22 USA F25 USA F6 Romania F1 Romania F7 Germany F17 Germany F19 France F15 France F17 France F20 Dominican Republic F4 Dominican Republic F5 France F1 Romania F1 Romania F2 Romania F3 Romania F5 France F8 Germany F6 France F9 Germany F7 France F10 Germany F8 France F12 Belgium F3 Germany F16 Germany F17 France F13 France F15 France F19 France F20 Senegal F1 Senegal F2 Dominican Republic F2 Dominican Republic F3 France F1 France F2 France F4 France F5 Spain F11 Spain F12 Spain F14 Bulgaria F3 Romania F2 Romania F3 Romania F4 France F8 France F10 France F11 Germany F8 France F12 Germany F9 Spain F27 Romania F9 Romania F10 Spain F29 Belarus F1 Belgium F2 Belarus F2 Germany F13 Germany F14 France F13 France F14 France F15 Turkey F9 France F17 Turkey F10 France F18 Turkey F11 France F19 Belarus F4 France F20 Rodez Great Britain F1 Great Britain F2 France F1 France F2 Turkey F7 France F4 Turkey F8 France F5 Turkey F10 Turkey F11 Turkey F12 France F6 Turkey F13 Italy F8 Italy F10 Italy F11 Romania F2 Germany F5 France F10 Germany F7 Romania F9 Turkey F6 Turkey F7 Turkey F8 France F4 France F5 Turkey F12 Turkey F15 Turkey F16 Romania F1 Romania F3 Turkey F7 Turkey F8 France F4 Turkey F9 Turkey F15 Romania F3 Turkey F6 China F1 China F2 Romania F3 France F19 France F12 France F13 Germany F18 Armenia F1 France F2 Georgia F2 Germany F13 Egypt F6 France F2 France F3 Romania F5 Romania F6 Romania F11 Ukraine F3 Romania F10 Romania F11 Romania F12 Germany F13 Romania F13 Romania F14 Romania F15 Germany F15 Belgium F2 France F7 France F4 Egypt F4 Turkey F9 France F18 Dominican Republic F1 M15 Manacor M15+H Bagnoles-de-l'Orne M15+H Bressuire M15 Vale Do Lobo M15 Faro M15 Toulouse M15 Sintra M25+H Rodez M15 Benicarlo M15 Madrid M15 Manacor M15 Manacor M25 Faro M25 Vale do Lobo M15 Poitiers M25 Reus M25 Montauban M15 Xativa M25 Bagneres-De-Bigorre M25 Toulouse M15 Manacor M25 Vale do Lobo M15 Creteil M15 Poitiers M25 Toulouse-Balma M25 Angers M25 Vic M25 Montauban M15 Madrid M15 Azay-le-Rideau M25 Mataro M15 Gijon M15 Bressuire M25+H Ajaccio M15 Valencia M25 Toulouse-Balma M25 Mataro M25+H Rodez M25 Vic M15 Monastir M15 Poitiers M15 Poitiers M15+H Bressuire M25 Vale do Lobo M25 Angers Mamaia Challenger - Constanta M15 Las Palmas de Gran Canaria M25+H Ajaccio M25 Santander Salzburg Challenger Quimper Challenger Bordeaux Challenger Recanati Challenger Trani Challenger Istanbul Challenger Rennes Challenger Kazan Challenger Bath Challenger St. Brieuc Challenger Tunis Challenger Ostrava Challenger Bordeaux Challenger Nottingham Challenger M25 Monastir Marburg Challenger Braunschweig Challenger Scheveningen Challenger Bercuit Challenger Recanati Challenger Oberstaufen Challenger M25 Reus Pozoblanco Challenger Cordenons Challenger Segovia Challenger St. Remy Challenger Istanbul Challenger Petange Challenger Izmir Challenger Orleans Challenger Mons Challenger Bratislava Challenger M25 Carnac Karshi Challenger Bordeaux Challenger Nottingham Challenger Oberstaufen Challenger Fergana Challenger Mons Challenger Rennes Challenger Bratislava Challenger Helsinki Challenger Chennai Challenger Kolkata Challenger New Delhi Challenger Cherbourg Challenger Guangzhou Challenger Guadalajara Challenger Le Gosier Challenger Tunis Challenger Bordeaux Challenger Heilbronn Challenger Nottingham Challenger Arad Challenger Kosice Challenger Braunschweig Challenger Poznan Challenger Oberstaufen Challenger Quimper Challenger San Marino Challenger Meerbusch Challenger St. Remy Challenger Trnava Challenger Happy Valley Challenger Hong Kong Challenger Burnie Challenger Launceston Challenger New Delhi Challenger Cherbourg Challenger Kolkata Challenger Quimper Challenger Raanana Challenger Le Gosier Challenger Mersin Challenger Bordeaux Challenger Heilbronn Challenger Moscow Challenger Fergana Challenger Poznan Challenger Cordenons Challenger Manerbio Challenger Genova Challenger Istanbul Challenger Orleans Challenger Mons Challenger Tashkent Challenger ATP Challenger Tour Finals Dallas Challenger Furth Challenger Moscow Challenger Fergana Challenger Braunschweig Challenger Poznan Challenger Segovia Challenger Prague Challenger Como Challenger Eckental Challenger Koblenz Challenger Cherbourg Challenger Wroclaw Challenger Bordeaux Challenger Prostejov Challenger Surbiton Challenger Caltanissetta Challenger Perugia Challenger Genova Challenger Orleans Challenger Ortisei Challenger Ningboo Challenger Suzhou Challenger Shenzhen Challenger Eckental Challenger Noumea Challenger Koblenz Challenger Rennes Challenger Cherbourg Challenger Lille Challenger Aix En Provence Challenger Bordeaux Challenger Poznan Challenger Astana Challenger Orleans Challenger Pune Challenger Koblenz Challenger Bordeaux Challenger Cherbourg Challenger Mauthausen Challenger Istanbul Challenger M25 Porto Mersin Challenger Rome Challenger Rennes Challenger St. Tropez Challenger Mouilleron-Le-Captif Challenger Brest Challenger M25 Toulouse-Balma Timisoara Challenger - Timisoara Brasov Challenger Kazan Challenger Cherbourg Challenger Barcelona Challenger Mersin Challenger Sibiu Challenger Pozoblanco Challenger Braunschweig Challenger Lermontov Challenger Prague Challenger Irving Challenger Bergamo Challenger Rennes Challenger Danderyd Challenger Oeiras 1 Challenger Oeiras 3 Challenger Cleveland Challenger Rennes Challenger Lugano Challenger Hamburg Challenger Segovia Challenger Grodzisk Mazowiecki Challenger Canberra Challenger Cassis Challenger Rennes Challenger Koblenz Challenger Tyumen Challenger Lille Challenger Prostejov Challenger Guangzhou Challenger Lyon Challenger Maui Challenger Bergamo Challenger Quimper Challenger Cherbourg Challenger Bratislava 1 Challenger Cherbourg Challenger Quimper Challenger St. Brieuc Challenger Mersin Challenger Tunis Challenger Raanana Challenger M25 Monastir Samarkand Challenger Royan Challenger Arad Challenger M25 Hazebrouck Kosice Challenger M25 Esch/Alzette Brasov Challenger Porto Challenger Timisoara Challenger Karshi Challenger Rome Challenger Poznan Challenger Samarkand Challenger Recanati Challenger Cary Challenger Amersfoort Challenger M15 Lons-le-Saunier M15 Monastir M15 Monastir St. Remy Challenger Petange Challenger M25 Villeneuve-Loubet Pau Challenger Orleans Challenger Tashkent Challenger Kazan Challenger Roanne Challenger Manerbio Challenger Genova Challenger Tyumen Challenger Cherbourg Challenger Oeiras 4 Challenger Ostrava Challenger Milan Challenger Iasi Challenger BCR Open Romania - Bucharest Nottingham 3 Challenger St. Petersburg Open - St. Petersburg AEGON Championships - London Scheveningen Challenger Kremlin Cup - Moscow Mouilleron-Le-Captif Challenger St. Petersburg Open - St. Petersburg Orleans Challenger Mons Challenger Open de Nice Cote d'Azur - Nice AEGON Championships - London Moselle Open - Metz Heilbronn Challenger Qatar ExxonMobil Open - Doha Porto 2 Challenger Apia International - Sydney Challenger DCNS de Cherbourg - Cherbourg Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona AEGON International - Eastbourne Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Moselle Open - Metz If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Open Sud de France - Montpellier Open 13 - Marseille Pozoblanco Challenger Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest Portugal Open - Oeiras Porto 2 Challenger Open de Nice Cote d'Azur - Nice AEGON Championships - London SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Orleans Challenger Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Moselle Open - Metz Kremlin Cup - Moscow Swiss Indoors Basel - Basel Heineken Open - Auckland Topshelf Open - 's-Hertogenbosch Open 13 - Marseille Marburg Challenger BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Karshi Challenger Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Credit Agricole Suisse Open - Gstaad Sarajevo Challenger Austrian Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Kremlin Cup - Moscow Erste Bank Open - Vienna Valencia Open - Valencia St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril Qatar ExxonMobil Open - Doha Open Sud de France - Montpellier Memphis Open - Memphis Delray Beach Open - Delray Beach Open 13 - Marseille Abierto Mexicano Telcel - Acapulco Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Bet-at-home Open - Hamburg Cherbourg Challenger Suisse Open - Gstaad Generali Open - Kitzbuhel Heilbronn Challenger Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg If Stockholm Open - Stockholm European Open - Antwerp Erste Bank Open - Vienna Hamburg Challenger Open Sud de France - Montpellier Garanti Koza Sofia Open - Sofia Como Challenger Memphis Open - Memphis Blois Challenger Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Cordenons Challenger Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon AEGON Championships - London Antalya Cup - Antalya Konzum Croatia Open - Umag Bet-at-home Open - Hamburg Suisse Open - Gstaad Moselle Open - Metz Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel Maharashtra Open - Pune ASB Classic - Auckland Open Sud de France - Montpellier Garanti Koza Sofia Open - Sofia New York Open - New York Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Gazprom Hungarian Open - Budapest Millennium Estoril Open - Estoril Cagliari Challenger TEB BNP Paribas Istanbul Open - Istanbul Open Parc - Lyon Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz China Open - Beijing European Open - Antwerp Tata Open Maharashtra - Pune Orleans Challenger Open Sud de France - Montpellier Sibiu Challenger New York Open - New York Delray Beach Open - Delray Beach Gazprom Hungarian Open - Budapest Geneva Open - Geneva Open Parc - Lyon Noventi Open - Halle Nature Valley International - Eastbourne BB&T Atlanta Open - Atlanta Abierto Mexicano de Tenis Mifel - Los Cabos Chengdu Open - Chengdu Mons Challenger Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel ABN AMRO World Tennis Tournament - Rotterdam Tashkent Challenger Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Rennes Challenger bett1HULKS Indoors - Cologne bett1HULKS Championships - Cologne Astana Open - Nur-Sultan Hamburg European Open - Hamburg Sofia Open - Sofia Antalya Open - Antalya Murray River Open - Melbourne Geneva Challenger Dubai Duty Free Tennis Championships - Dubai Mercedes Cup - Stuttgart Mallorca Championships - Mallorca Mouilleron-Le-Captif Challenger Nordea Open - Bastad Generali Open - Kitzbuhel Kremlin Cup - Moscow Singapore Tennis Open - Singapore Belgrade 2 - Belgrade Open 13 Provence - Marseille Mercedes Cup - Stuttgart Noventi Open - Halle Abierto de Tenis Mifel - Los Cabos Rakuten Japan Open - Tokyo Cherbourg Challeger Dallas Open - Dallas Noumea Challenger St. Brieuc Challenger Delray Beach Open - Delray Beach Como Challenger Bordeaux Challenger Troyes Challenger Millennium Estoril Open - Estoril Banja Luka Open - Banja Luka Brest Challenger Open D'Orleans - Orleans Orleans Challenger Citi Open - Washington Winston-Salem Open - Winston-Salem Budapest Challenger Noumea Challenger Ortisei Challenger Rennes Challenger St. Brieuc Challenger Sophia Antipolis Challenger Mallorca Challenger St. Brieuc Challenger Monza Challenger Delray Beach Open - Delray Beach Todi Challenger Recanati Challenger Pozoblanco Challenger San Benedetto Challenger Bucharest Open - Bucharest Blois Challenger Perugia Challenger Batman Challenger Segovia Challenger Seville Challenger Szczecin Challenger Samarkand Challenger Infosys Hall of Fame Open - Newport Atlanta Open - Atlanta Florence Challenger St. Remy Challenger Brasov Challenger Ningboo Challenger Szczecin Challenger Liuzhou Challenger Bangalore Challenger Liberec Challenger Trnava Challenger Noumea Challenger Mons Challenger Aix En Provence Challenger Orleans Challenger Prague Challenger Shenzhen Challenger Eckental Challenger Pau Challenger Tiriac Open - Bucharest Split Challenger Orleans Challenger Karlsruhe Challenger Mouilleron-Le-Captif Challenger Seoul Challenger BMW Open - Munich Busan Challenger Hamburg Challenger Brest Challenger Bergamo Challenger Roanne Challenger Loughborough Challenger Oeiras 2 Challenger Porto Challenger Nordea Open - Bastad Lugano Challenger Bratislava Challenger Phoenix Challenger Generali Open - Kitzbuhel Open 13 - Marseille Helsinki Challenger Lille Challenger Ilkley Challenger Madrid Challenger Noumea Challenger Heilbronn Challenger Oeiras 3 Challenger Rome Challenger Mouilleron-Le-Captif Challenger Aix En Provence Challenger Prague 2 Challenger Oeiras 4 Challenger Roanne Challenger Perugia Challenger St. Brieuc Challenger Seoul Challenger Geneva Challenger Eckental Challenger Ortisei Challenger Szekesfehervar Challenger Liberec Challenger Canberra Challenger San Diego Challenger Cherbourg Challenger Girona Challenger Troisdorf Challenger Monza Challenger Mouilleron-Le-Captif Challenger Turin Challenger Oeiras 5 Challenger Jonkoping Challenger Chisinau Challenger Perugia Challenger Poznan Challenger Kremlin Cup - Moscow Szczecin Challenger Porto Challenger Mouilleron-Le-Captif Challenger Aix En Provence Challenger Nottingham Challenger Villena Challenger Braunschweig Challenger Como Challenger Szczecin Challenger Mouilleron-Le-Captif Challenger Kobe Challenger Irving Challenger St. Brieuc Challenger Alicante Challenger Kremlin Cup - Moscow Tunis Challenger Barcelona Challenger Mouilleron-Le-Captif Challenger Lille Challenger St. Brieuc Challenger Sophia Antipolis Challenger Helsinki Challenger Open Sud de France - Montpellier Lisbon Challenger Vicenza Challenger Prostejov Challenger Blois Challenger Perugia Challenger Segovia Challenger Portoroz Challenger Canberra Challenger Cherbourg Challenger Indian Wells Challenger SkiStar Swedish Open - Bastad Cherbourg Challenger Open de Moselle - Metz Rennes Challenger Istanbul 2 Challenger Terra Wortmann Open - Halle Citi Open - Washington Delray Beach Open - Delray Beach Bucharest Challenger Sibiu Challenger Mouilleron-Le-Captif Challenger Brest Challenger Bergamo Challenger Roanne Challenger Bari Challenger Forli 2 Challenger Phoenix Challenger Lugano Challenger Turin Challenger Sanremo Challenger Rome 1 Challenger Dallas Open - Dallas Prague 2 Challenger Noventi Open - Halle Bordeaux Challenger Heilbronn Challenger Vicenza Challenger Forli 6 Challenger Surbiton Challenger Lyon Challenger Troyes Challenger Porto Challenger Pozoblanco Challenger Segovia Challenger Chicago Challenger Prague 3 Challenger Adelaide International 1 - Adelaide Cassis Challenger Rennes Challenger Valencia Challenger Maia Challenger AEGON Championships - London Oeiras 1 Challenger Tenerife 1 Challenger Ottignies-Louvain-la-Neuve Challenger Quimper Challenger Gonet Geneva Open - Geneva Koblenz Challenger Stockholm Open - Stockholm Cherbourg Challenger Pau Challenger Prague 1 Challenger Hall of Fame Open - Newport Truist Atlanta Open - Atlanta Korea Open - Seoul Maia Challenger BNP Paribas Masters - Paris Swiss Indoors Basel - Basel Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Masters - Paris Sony Open Tennis - Miami BNP Paribas Masters - Paris Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Apia International - Sydney Monte-Carlo Rolex Masters - Monte-Carlo Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Miami Open - Miami Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Coupe Rogers - Montreal Western & Southern Open - Cincinnati BNP Paribas Masters - Paris Miami Open - Miami Winston-Salem Open - Winston-Salem BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Dallas Open - Dallas Grand Prix Hassan II - Marrakech Aircel Chennai Open - Chennai St. Petersburg Open - St. Petersburg M25 Roehampton Delray Beach Open - Delray Beach Plava Laguna Croatia Open - Umag Millennium Estoril Open - Estoril Open 13 Provence - Marseille Hall of Fame Tennis Championships - Newport Hangzhou Open - Hangzhou Chengdu Open - Chengdu Intrum Stockholm Open - Stockholm Generali Open - Kitzbuhel Tata Open Maharashtra - Pune Winston-Salem Open - Winston-Salem Open Sud de France - Montpellier Gerry Weber Open - Halle Aircel Chennai Open - Chennai ABN AMRO World Tennis Tournament - Rotterdam Tata Open Maharashtra - Pune Open Sud de France - Montpellier Barcelona Open BancSabadell - Barcelona Malaysian Open - Kuala Lumpur Millennium Estoril Open - Estoril Boss Open - Stuttgart AEGON Championships - London Shenzhen Open - Shenzhen Abierto Mexicano Telcel - Acapulco Swiss Open - Gstaad St. Petersburg Open - St. Petersburg Mutua Madrid Open - Madrid National Bank Open - Toronto Western & Southern Open - New York Internazionali BNL d'Italia - Rome Mallorca Challenger Internazionali BNL d'Italia - Rome French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London French Open - Paris U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London BNP Paribas Open - Indian Wells U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Rolex Paris Masters - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London Wimbledon - London Shanghai Rolex Masters - Shanghai U.S. Open - New York U.S. Open - New York Monte-Carlo Rolex Masters - Monte-Carlo Davis Cup, Group 2, 1R, LAT-MDA 5-0 Davis Cup, Group 2, PO, HUN-MDA 3-2 Davis Cup, Group II, 1R, BLR-MDA 4-1 Davis Cup, Group II, 2R, MDA-BLR 4-1 Davis Cup, Group II, 1R, HUN-MDA 4-1 ATP Cup - Brisbane, Perth, Sydney Davis Cup, Group II, 2R, BIH-MDA 1-3 Davis Cup, Group II, 3R, MDA-POR 2-3 U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) French Open - Paris Davis Cup, Group II, PO, TUR-MDA 2-3 Davis Cup, Group II, 1R, MDA-HUN 3-2 Australian Open - Melbourne All Lower level tournaments Davis Cup, Group II, 3R, DEN-MDA 3-2 U.S. Open - New York Mutua Madrid Open - Madrid Davis Cup, Group II, 1R, MDA-EGY 4-1 M15+H Bagnoles de l'Orne Olympics - Rio de Janeiro Hopman Cup - Perth M25 Porto M15 Monastir